草庐IT

JavaScript window.URL 在函数中未定义

全部标签

javascript - joi_1.default.validate 不是函数

我想在调用Controller逻辑之前验证我的Express路由。我使用joi并创建了一个验证器,它能够根据模式对象验证请求对象import{Request,Response,NextFunction}from'express';importjoi,{SchemaLike,ValidationError,ValidationResult}from'@hapi/joi';import{injectable}from'inversify';@injectable()exportabstractclassRequestValidator{protectedvalidateRequest=(v

javascript - 如何使用 java/vb 脚本调用自定义 ActiveX dll 中的方法

我使用VB6创建了一个ActiveXdll,并使用打包和部署向导将其打包,生成了一个cab文件和一个演示HTML页面。此ActiveXdll包含一个返回字符串且不接受任何参数的简单方法。我遇到的问题是,当我调用该方法时,我总是得到一个“对象不支持此属性或方法”错误。但它确实支持我正在调用的方法。我想要实现的是让用户转到一个网页,其中包含一些java或vb脚本,该脚本调用我的ActiveX中的方法并获取返回的字符串值。该DLL旨在称为客户端。我的测试网页如下:SaveClipboardImage.CABfunctiondisplaymessage(){try{varfilename;fi

javascript - 什么是用于编辑自定义 DSL 代码的优秀 JavaScript 编辑器?

我正在寻找一个不错的/可自定义的编辑器来放置在网页上以编辑自定义DSL的脚本。理想情况下带有语法高亮显示(智能感知会很棒!)有人知道有什么合适的吗? 最佳答案 语法高亮,看EditArea.Intellisense可以写成一个插件。 关于javascript-什么是用于编辑自定义DSL代码的优秀JavaScript编辑器?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/21355

c# - 如何确定包含在 Asp.net 页面中的重复 Javascript 函数

我有一个使用一些javascript函数的应用程序,由于所有javascript都包含在Masterpage中,因此页面附带的大多数javascript不是必需的,并且其中一些是重复的(因为在一些不同的JS文件中使用。)所以我想检查是否有一种方法可以确定重复函数并将其删除? 最佳答案 你可以在声明一个函数的时候检查这个函数是否存在,但是你必须改变它的工作方式。代替functionfoo(){something}做if(window.foo===undefined){window.foo=function(){something}}你

javascript - 如何在调用之间调用函数调用私有(private)变量

这是一个直接来自教科书的简单方法,我似乎找不到。我有一个javascript函数。我希望它包含一个private变量,该变量在两次调用之间记住它的值。谁能唤起我的内存。 最佳答案 使用闭包创建它:functionf(){varx=0;returnfunction(){returnx++;};}然后按如下方式使用:>g=f()function(){returnx++}>g()0>g()1>g()2 关于javascript-如何在调用之间调用函数调用私有(private)变量,我们在Sta

javascript - 从 iframe 获取 url 并在浏览器 url 中更新哈希

我尝试了一些不同的方法,但没有任何效果,基本上我需要从iframe获取当前位置/url,获取我想要的部分并将其返回到url中的哈希。我如何在javascript中执行此操作? 最佳答案 选择正确的iframe元素,拉出src属性,做你的事情,将src分配给window.location.hashvariframe=$('iframe');varsrc=iframe.attr('src');window.location.hash=src;编辑如果您想从iframe获取动态位置,您必须访问contentWindow属性:varifra

javascript - 使用 windows.location.replace 刷新页面不使用 URL 中的哈希

我有一个AJAX调用,它负责一些服务器端设置(我将其用于登录、语言切换等)。如果且仅当服务器端设置由于此调用而实际更改时,我想刷新当前页面(不重新发布POST表单数据,我们应该在POST后立即在页面上)。AJAX回调中的一个简单JS负责处理此问题:window.location.replace(window.location.toString());这很好用,直到我开始使用anchor。假设我的网址类似于http://www.mysite.com/index/list#someplace然后我执行上述以window.location.replace结尾的ajax调用,然后什么也没有发生

javascript - 如果您不使用 var 声明全局变量或者它不是参数,为什么在某些情况下函数中的全局变量不会被更改?

ECMAScript对var非常简单。如果您不在函数内使用var来声明您分配给您分配给全局范围的变量。发生这种情况是因为链式作用域的工作方式。执行环境在本地范围内查找标识符,然后向上移动直到到达全局范围。如果尚未找到标识符的声明并且未将其标识为参数,则在全局范围内创建变量。例如本地作用域:varcar='Blue';functionchange_color(){varcar='Red';}change_color();console.log(car);//logs'Blue'ascarisinthelocalscopeofthefunction.当car在本地范围内找不到时:varca

javascript - JavaScript 中当前脚本的 URL

如何找到被调用的JS文件的URL?假设JS文件(库的一部分)和HTML文件(应用程序)位于不同的服务器上。找出HTML文件的URL很容易。但是如何在JS文件本身中找出JS文件服务器的服务器名称和路径?(编辑:在同一目录结构中有一个加载程序调用该库的其他JS文件)最好是JQuery或纯JS解决方案。编辑:从您的回答和评论中了解到后,我决定将加载程序代码实际移动到第一个服务器上会更清晰,html也位于该服务器上,从而避免了该问题。 最佳答案 在JQuery中你可以这样做:$('script').each(function(i,e){al

javascript - 匿名函数和内存消耗

就内存消耗而言,这些是等效的还是我们为后者中的每个对象获取一个新的函数实例?varf=function(){alert(this.animal);}varitems=[];for(vari=0;i和varitems=[];for(vari=0;i编辑我在想,为了让闭包正常工作,第二个实例确实会在每次通过时创建一个新函数。这是正确的吗? 最佳答案 您应该使用第一种方法,因为每次解释器通过该行时第二种方法都会创建一个函数。关于您的编辑:我们一直在同一个作用域中,因为JavaScript具有函数作用域而不是block作用域,所以这可能是可